//
//  DeviceInfoGenerator.h
//  CodeHelper
//
//  Created by Rowling on 2023/5/23.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
@class Source;
@interface DeviceInfoGenerator : NSObject
-(void)write;
@end

@interface WriteInfo : NSObject
@property(strong, nonatomic)NSString * className;
@property(strong, nonatomic)NSString * getInfoFunctionName;
@end

@interface MatchCode : NSObject
@property(assign, nonatomic)NSInteger type;
@property(strong, nonatomic)NSString * content;
@property(strong, nonatomic)NSString * method;
@property(strong, nonatomic)NSString * fileScope;
@property(strong, nonatomic)NSString * INITScope;
@property(strong, nonatomic)NSString * ivarScope;
@property(strong, nonatomic)NSString * domainReplace;
@property(strong, nonatomic)NSString * topScope;
@property(strong, nonatomic)Source * source;

@property(assign, nonatomic)BOOL isOptional;
@end


@interface Scope : NSObject
@property(strong, nonatomic)NSString * mainFunc;
@property(strong, nonatomic)NSMutableString * fileScope;
@property(strong, nonatomic)NSMutableString * INITScope;
@property(strong, nonatomic)NSMutableString * ivarScope;
@property(strong, nonatomic)NSMutableString * topScope;
@end

@interface Source : NSObject
@property(strong, nonatomic)NSString * name;
@property(strong, nonatomic)NSString * suffix;
@property(strong, nonatomic)NSString * content;
@end


NS_ASSUME_NONNULL_END
